﻿
var checkAll;
var checkpll;
var Show;
var Fenye;
var close;
var idsArray = [];
var tidsArray = [];
layui.use(function () {
    var $ = layui.$;
    var layer = layui.layer;
    var util = layui.util;
    var form = layui.form;
    var table = layui.table;
    var laydate = layui.laydate;
    // 日期时间选择器 - 日期和时间选择器同时显示（全面板）
    laydate.render({
        elem: '#singleTime',
        type: 'datetime',
        fullPanel: true // 2.8+
    });
    // 定义获取选中复选框值的函数
    function getCheckedCheckboxValues() {
        var checkedCheckboxValues = [];
        $("input[name='ckbproc']:checked").each(function () {
            checkedCheckboxValues.push($(this).val());
        });
        return checkedCheckboxValues;
    }

    // 事件
    util.on('lay-on', {
        'test-page-custom': function () {
            layer.open({
                type: 1,
                area: ['900px', '600px'],
                resize: false,
                shadeClose: true,
                title: '选择产品',
                content: `
           <form class="layui-form" action="">
        <div class="layui-form-item">
            <div class="layui-inline">
                <label class="layui-form-label">产品编号:</label>
                <div class="layui-input-block">
                    <input type="text" id="productNos" name="productNo" placeholder="请输入" autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-inline">
                <label class="layui-form-label">产品名称:</label>
                <div class="layui-input-block">
                    <input type="text" id="productNames" name="productName" placeholder="请输入" autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-inline">
                <div class="layui-btn-container">
                    <button type="button" class="layui-btn layui-bg-blue" onclick="Fenye()">
                        <i class="layui-icon layui-icon-search"></i>搜索
                    </button>
                </div>
            </div>
        </div>
    </form>
    <div>
    <table class="layui-table">
    <tr>
        <th>
            <input type="checkbox" id="checkAll" onclick="checkAll()" value="" />
       </th>
        <th>产品编号</th>
        <th>产品名称</th>
        <th>规格</th>
        <th>类别</th>
        <th>存储单位</th>
        <th>包装类型</th>
        <th>价格</th>
        <th>重量</th>
        <th>显示名</th>
    </tr>
    <tbody id="data"></tbody>
</table>
    </div>
    <div id="demo-laypage-layout"></div>
    <div style="text-align:right;margin-top:30px">
    <button type="button" class="layui-btn layui-btn-primary layui-btn-sm" id="closePopupBtn" onclick="close()">
                        关闭
                    </button>
    <button type="button" class="layui-btn layui-bg-blue layui-btn-sm" >
                        选择
                    </button>
    </div>

        `,
                success: function () {
                    // 对弹层中的表单进行初始化渲染
                    form.render();
                    // 表单提交事件
                    form.on('submit(demo-login)', function (data) {
                        var field = data.field; // 获取表单字段值
                        return false; // 阻止默认 form 跳转
                    });

                    //获取复选框值
                    var chooseButton = $(".layui-btn.layui-bg-blue:last");
                    chooseButton.on('click', function () {
                        var checkedValues = getCheckedCheckboxValues();
                        if (checkedValues.length > 0) {
                            idsArray = checkedValues
                            console.log("选中的复选框值:", checkedValues, idsArray);
                            layer.close(index);


                            //显示
                            layui.use('table', function () {
                                var form = layui.form;
                                var table = layui.table;
                                var model = JSON.stringify({
                                    "ints": idsArray
                                })
                                $.ajax({
                                    url: '../Purchase/SaleProductFan', // 后端接口地址，需替换为实际地址
                                    type: 'post',
                                    data: { model: model, token: localStorage.getItem("token") },
                                    success: function (res) {
                                        console.log(res)
                                        var res = JSON.parse(res)
                                        //console.log(res)
                                        //console.log(idsArray)
                                        // res 是从后端获取到的 JSON 数据
                                        if (res != null) {
                                            console.log(res);
                                            tidsArray.push(res)
                                            console.log(tidsArray);
                                            table.render({
                                                elem: allocationProduct, // 对应 HTML 中表格的 id
                                                data: res, // 绑定获取到的数据
                                                page: true,
                                                limit: 5,
                                                limits: [5, 8, 10],
                                                cols: [[
                                                    { type: 'checkbox', fixed: 'left' },
                                                    { field: 'productName', title: '产品名称' },
                                                    { field: 'productNo', title: '产品编号' },
                                                    { field: 'productSpec', title: '规格' },
                                                    { field: 'batch', title: '批次', edit: 'text', },
                                                    { field: 'price', title: '单价', edit: 'text', },
                                                    { field: 'outStorageNum', title: '出库数', edit: 'text' },
                                                    { field: 'totalPrice', title: '总价', edit: 'text' },
                                                    { field: 'binLocationName', title: '原库位' },
                                                    {
                                                        field: '', title: '操作', width: 200, templet: function (d) {
                                                            return '<a class="layui-btn layui-btn-edit layui-btn-xs" lay-on="test-page-delete"><i class="layui-icon layui-icon-edit"></i>删除</a> ';
                                                        }
                                                    }
                                                ]]
                                            });

                                        } else {
                                            console.log(res.msg);
                                        }
                                    },
                                    error: function () {
                                        console.log('获取数据失败');
                                    }
                                });
                            });


                        } else {
                            layer.msg("请至少选择一项");
                        }
                    });
                    //关闭弹窗
                    close = function () {
                        layer.close(index);
                    }
                }
            });
            var index = 1;
            var size = 6;
            var tacount = 0;
            $(function () {
                Fenye();
            });
            Show1 = function () {
                var productNo = $("#productNos").val();
                var productName = $("#productNames").val();
                var manuNo = $("#manuNo").val();
                var vendorId = $("#vendorId").val();
                $.ajax({
                    url: '../Product/GEtProductShow',
                    async: false,//改为异步,
                    type: 'get',
                    data: {
                        productNo: productNo,
                        productName: productName,
                        manuNo: manuNo,
                        vendorId: vendorId,
                        index: index,
                        size, size,
                        token: localStorage.getItem("token")
                    },
                    success: function (res) {
                        var list = '';
                        var parsedData = JSON.parse(res);
                        console.log(parsedData)
                        $(parsedData.data.list).each(function () {
                            list += `
                         <tr>
                        <td>
                                <input type="checkbox" name="ckbproc" value="${this.productId}" />
                            </td>
                         <td>${this.productNo}</td>
                          <td>${this.productName}</td>
                          <td>${this.productSpec}</td>
                          <td>${this.productTypeName}</td>
                          <td>${this.productSpec}</td>
                          <td>${this.productWrap}</td>
                          <td>${this.productPrice}</td>
                          <td>${this.productWeight}</td>
                                  <td>
                                     
                                    </td>
                     </tr> `
                        });
                        $("#data").html(list);
                        tacount = parsedData.data.tacount;
                    }
                })
            }

            //分页
            Fenye = function () {

                layui.use(function () {
                    var laypage = layui.laypage;
                    // 完整显示
                    Show1()
                    laypage.render({
                        elem: 'demo-laypage-layout', // 元素 id
                        count: tacount, // 数据总数
                        limit: size,//2.设置默认分页大小
                        limits: [6, 10, 15],//3.设置分页组件可选的分页大小
                        layout: ['count', 'prev', 'page', 'next', 'limit', 'refresh', 'skip'], // 功能布局
                        jump: function (obj) {
                            console.log(obj);
                            index = obj.curr;
                            size = obj.limit;
                            Show1();
                        }
                    });
                });
            }


            checkpll = function () {
                var checkedIds = $("input[name='ckbproc']:checked");//取所有选中的name=ckbproc的复选框集合
                var ids = [];//定义了一个数组,空的
                $(checkedIds).each(function (i, obj) {
                    var id = $(obj).val();
                    ids.push(id);//往数组里push数字,数字就是我们的商品id
                });

                console.log(ids)
            }
            checkAll = function () {

                var checked = $("#checkAll").prop("checked");  //取全选/反选 checkbox的选中状态值
                $("input[name='ckbproc']").prop("checked", checked);//把所有name=ckbproc的checkbox的选中状态赋值为 checked
                console.log(checked)
            }


        }
    })

    // 监听表单提交事件
    window.SalesAdd = function SalesAdd() {
        var checkStatus = table.checkStatus('allocationProduct');
        products = checkStatus.data.map(function (item) {
            return item;
        });
        // 这里可以在提交前进行额外的数据处理或验证等操作
        var data = {
            salesOrdersNo: $("#salesOrdersNo").val(),
            procurementTypeId: $("#procurementTypeId").val(),
            associateNumber: $("#associateNumber").val(),
            clientNo: $("#clientNo").val(),
            clientName: $("#clientName").val(),
            salesOrdersPerson: $("#salesOrdersPerson").val(),
            salesOrdersPhone: $("#salesOrdersPhone").val(),
            shipmentsDate:$("#shipmentsDate").val(),
            salesOrdersRemark: $("#salesOrdersRemark").val(),
            singleMaker: $("#singleMaker").val(),
            singleTime: $("#singledate").val(),
            isDelete: false,
            productsSales: []
        };
        products.forEach(function (product)
        {
            var productSalesObj = {
                "productName": product.productName,  // 这里假设product对象有productName属性，根据实际调整
                "productNo": product.productNo,      // 同理，按实际数据结构调整下面属性获取
                "productSpec": product.productSpec,
                "unitName": product.unitName,
                "price": product.price,
                "productsSalesNum": product.productsSalesNum,
                "productsSalesTotal": product.productsSalesTotal
            }
            data.productsSales.push(productSalesObj);
        })
       
        var model = JSON.stringify(data);
        console.log(model);//field.products
        // 显示填写结果，仅作演示用
            $.ajax({
                url: '../Purchase/SaleProductAdd',
                type: 'post',
                data: {
                    model: model, token: localStorage.getItem("token"),
                },
                success: function (res) {
                    var res = JSON.parse(res)
                    console.log(res);
                    if (res > 0) {
                        layer.alert("添加成功");
                        //跳转页面
                        //location.href = '/Purchase/SaleShow'
                    } else {
                        layer.alert("添加失败");
                    }
                }
            });
        
    };
    // 定义时间格式转换函数
    function formatTime(timeStamp) {
        if (timeStamp) {
            var date = new Date(timeStamp);
            var year = date.getFullYear();
            var month = ('0' + (date.getMonth() + 1)).slice(-2);
            var day = ('0' + date.getDate()).slice(-2);
            var hour = ('0' + date.getHours()).slice(-2);
            var minute = ('0' + date.getMinutes()).slice(-2);
            var second = ('0' + date.getSeconds()).slice(-2);
            return year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
        }
        return "";
    }
})

